home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-04 / bipl.zip / PROCS.ZIP / XROTATE.ICN < prev   
Text File  |  1992-09-28  |  766b  |  35 lines

  1. ############################################################################
  2. #
  3. #    File:     xrotate.icn
  4. #
  5. #    Subject:  Procedure to rotate values in list or record
  6. #
  7. #    Author:   Ralph E. Griswold
  8. #
  9. #    Date:     April 26, 1992
  10. #
  11. ###########################################################################
  12. #
  13. #  xrotate(X, i) rotates the values in X right by one position.  It works
  14. #  for lists and records.
  15. #
  16. #  This procedure is mainly interesting as a recursive version of
  17. #
  18. #    x1 :=: x2 :=: x3 :=: ... xn
  19. #
  20. #  since a better method for lists is
  21. #
  22. #    push(L, pull(L))
  23. #
  24. ############################################################################
  25.  
  26. procedure rxotate(X, i)
  27.  
  28.    /i := 1
  29.  
  30.    X[i] :=: xrotate(X, i + 1)
  31.  
  32.    return X[i]
  33.  
  34. end
  35.